{
  "openapi": "3.0.0",
  "info": {
    "title": "REST server API",
    "description": "This is an API for REST server that calculates students toplit.  \nYou can find out more about it at\n[https://github.com/mementomorri/Kotlin-Backend](https://github.com/mementomorri/Kotlin-Backend)\n",
    "contact": {
      "email": "mementomorimore@gmail.com"
    },
    "license": {
      "name": "Apache 2.0",
      "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
    },
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://virtserver.swaggerhub.com/mementomorri/REST_API_for_toplist_of_students/1.0.0",
      "description": "SwaggerHub API Auto Mocking"
    }
  ],
  "tags": [
    {
      "name": "student",
      "description": "Basic information about studets"
    },
    {
      "name": "tutor",
      "description": "Basic information about tutors"
    },
    {
      "name": "course",
      "description": "Everything about courses"
    }
  ],
  "paths": {
    "/student": {
      "post": {
        "tags": [
          "student"
        ],
        "summary": "Add a new student",
        "operationId": "addStudent",
        "requestBody": {
          "$ref": "#/components/requestBodies/Student"
        },
        "responses": {
          "405": {
            "description": "Invalid input"
          },
          "default": {
            "description": "Successful operation"
          }
        }
      }
    },
    "/student/group/{group}": {
      "get": {
        "tags": [
          "student"
        ],
        "summary": "Finds students by their group",
        "operationId": "getStudentsByGroup",
        "parameters": [
          {
            "name": "group",
            "in": "path",
            "description": "Group name to filter by",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Student"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Student"
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Student"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid group value"
          }
        }
      }
    },
    "/student/{studentId}": {
      "get": {
        "tags": [
          "student"
        ],
        "summary": "Get student by id",
        "operationId": "getStudentById",
        "parameters": [
          {
            "name": "studentId",
            "in": "path",
            "description": "The id that needs to be fetched",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Student"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Student"
                }
              }
            }
          },
          "400": {
            "description": "Invalid ID supplied"
          },
          "404": {
            "description": "Student not found"
          }
        }
      },
      "put": {
        "tags": [
          "student"
        ],
        "summary": "Update a student data",
        "operationId": "updateStudent",
        "parameters": [
          {
            "name": "studentId",
            "in": "path",
            "description": "ID of student that needs to be updated",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "405": {
            "description": "Invalid input"
          }
        }
      },
      "delete": {
        "tags": [
          "student"
        ],
        "summary": "Delete a student data",
        "operationId": "deleteStudent",
        "parameters": [
          {
            "name": "studentId",
            "in": "path",
            "description": "Student to delete by id",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Invalid ID supplied"
          },
          "404": {
            "description": "Student not found"
          }
        }
      }
    },
    "/tutor": {
      "post": {
        "tags": [
          "tutor"
        ],
        "summary": "Add a new stutor",
        "operationId": "addTutor",
        "requestBody": {
          "$ref": "#/components/requestBodies/Tutor"
        },
        "responses": {
          "405": {
            "description": "Invalid input"
          },
          "default": {
            "description": "Successful operation"
          }
        }
      }
    },
    "/tutor/post/{post}": {
      "get": {
        "tags": [
          "tutor"
        ],
        "summary": "Finds tutors by their post",
        "operationId": "getTutorsByPost",
        "parameters": [
          {
            "name": "post",
            "in": "path",
            "description": "Post name to filter by",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Tutor"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tutor"
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tutor"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid post value"
          }
        }
      }
    },
    "/tutor/{tutorId}": {
      "get": {
        "tags": [
          "tutor"
        ],
        "summary": "Get tutor by id",
        "operationId": "getTutorById",
        "parameters": [
          {
            "name": "tutorId",
            "in": "path",
            "description": "The id that needs to be fetched",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Tutor"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Tutor"
                }
              }
            }
          },
          "400": {
            "description": "Invalid ID supplied"
          },
          "404": {
            "description": "Tutor not found"
          }
        }
      },
      "put": {
        "tags": [
          "tutor"
        ],
        "summary": "Update a tutor data",
        "operationId": "updateTutor",
        "parameters": [
          {
            "name": "tutorId",
            "in": "path",
            "description": "ID of tutor that needs to be updated",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "405": {
            "description": "Invalid input"
          }
        }
      },
      "delete": {
        "tags": [
          "tutor"
        ],
        "summary": "Delete a tutor data",
        "operationId": "deleteTutor",
        "parameters": [
          {
            "name": "tutorId",
            "in": "path",
            "description": "Tutor to delete by id",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Invalid ID supplied"
          },
          "404": {
            "description": "Tutor not found"
          }
        }
      }
    },
    "/course": {
      "get": {
        "tags": [
          "course"
        ],
        "summary": "Show all courses",
        "description": "Returns list of all courses with short description",
        "operationId": "getAllCourses",
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Course"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "course"
        ],
        "summary": "Create a new course",
        "operationId": "addCourse",
        "requestBody": {
          "description": "Created course object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Course"
              }
            }
          },
          "required": true
        },
        "responses": {
          "405": {
            "description": "Invalid input"
          },
          "default": {
            "description": "Successful operation"
          }
        }
      }
    },
    "/course/{courseId}": {
      "get": {
        "tags": [
          "course"
        ],
        "summary": "Get course with full description by id",
        "operationId": "getCourseById",
        "parameters": [
          {
            "name": "courseId",
            "in": "path",
            "description": "The id that needs to be fetched",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Course"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Course"
                }
              }
            }
          },
          "400": {
            "description": "Invalid ID supplied"
          },
          "404": {
            "description": "Course not found"
          }
        }
      },
      "put": {
        "tags": [
          "course"
        ],
        "summary": "Update a course data",
        "operationId": "updateCourse",
        "parameters": [
          {
            "name": "courseId",
            "in": "path",
            "description": "ID of course that needs to be updated",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "405": {
            "description": "Invalid input"
          }
        }
      },
      "delete": {
        "tags": [
          "course"
        ],
        "summary": "Delete a course data",
        "operationId": "deleteCourse",
        "parameters": [
          {
            "name": "courseId",
            "in": "path",
            "description": "Course to delete by id",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Invalid ID supplied"
          },
          "404": {
            "description": "Course not found"
          }
        }
      }
    },
    "/course/{courseId}/tutors": {
      "get": {
        "tags": [
          "course"
        ],
        "summary": "Returns a list of tutors at this course",
        "operationId": "getTutors",
        "parameters": [
          {
            "name": "courseId",
            "in": "path",
            "description": "Course id to find by",
            "required": true,
            "style": "simple",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tutor"
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tutor"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid id value"
          }
        }
      }
    },
    "/course/{courseId}/tutor/{tutorId}": {
      "post": {
        "tags": [
          "course"
        ],
        "summary": "Add a tutor to this course",
        "operationId": "addTutorToCourse",
        "parameters": [
          {
            "name": "courseId",
            "in": "path",
            "description": "Course id to find by",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "tutorId",
            "in": "path",
            "description": "Tutor id to find by",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "description": "Tutor placed at course",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Tutor"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation"
          },
          "405": {
            "description": "Invalid input"
          }
        }
      },
      "delete": {
        "tags": [
          "course"
        ],
        "summary": "Remove tutor from course",
        "operationId": "removeTutor",
        "parameters": [
          {
            "name": "courseId",
            "in": "path",
            "description": "Course id to find by",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "tutorId",
            "in": "path",
            "description": "The tutor that needs to be removed",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Invalid course or tutor id supplied"
          },
          "404": {
            "description": "Course or tutor not found"
          }
        }
      }
    },
    "/course/{courseId}/student": {
      "get": {
        "tags": [
          "course"
        ],
        "summary": "Returns a list of students at this course",
        "operationId": "getStudents",
        "parameters": [
          {
            "name": "courseId",
            "in": "path",
            "description": "Course id to find by",
            "required": true,
            "style": "simple",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Student"
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Student"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid id value"
          }
        }
      }
    },
    "/course/{courseId}/student/{studentId}": {
      "post": {
        "tags": [
          "course"
        ],
        "summary": "Add a student to this course",
        "operationId": "addStudentToCourse",
        "parameters": [
          {
            "name": "courseId",
            "in": "path",
            "description": "Course id to find by",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "studentId",
            "in": "path",
            "description": "Student id to find by",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "description": "Student placed at course",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Student"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation"
          },
          "405": {
            "description": "Invalid input"
          }
        }
      },
      "delete": {
        "tags": [
          "course"
        ],
        "summary": "Remove student from course",
        "operationId": "removeStudent",
        "parameters": [
          {
            "name": "courseId",
            "in": "path",
            "description": "Course id to find by",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "studentId",
            "in": "path",
            "description": "The student that needs to be removed",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Invalid course or student id supplied"
          },
          "404": {
            "description": "Course or student not found"
          }
        }
      }
    },
    "/course/{courseId}/toplist": {
      "get": {
        "tags": [
          "course"
        ],
        "summary": "Returns a toplist of all students at this course",
        "operationId": "getToplist",
        "parameters": [
          {
            "name": "courseId",
            "in": "path",
            "description": "Course id to find by",
            "required": true,
            "style": "simple",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Rank"
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Rank"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid id value"
          }
        }
      }
    },
    "/course/{courseId}/task": {
      "get": {
        "tags": [
          "course"
        ],
        "summary": "Returns a list of tasks at this course",
        "operationId": "getTasks",
        "parameters": [
          {
            "name": "courseId",
            "in": "path",
            "description": "Course id to find by",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Task"
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Task"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid id value"
          }
        }
      },
      "post": {
        "tags": [
          "course"
        ],
        "summary": "Add a task to this course",
        "operationId": "addTask",
        "parameters": [
          {
            "name": "courseId",
            "in": "path",
            "description": "Course id to find by",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "description": "task placed at course",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Task"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation"
          },
          "400": {
            "description": "Invalid task"
          }
        }
      }
    },
    "/course/{courseId}/task/{taskId}": {
      "get": {
        "tags": [
          "course"
        ],
        "summary": "Get a particular task with full description by id",
        "operationId": "getTaskById",
        "parameters": [
          {
            "name": "courseId",
            "in": "path",
            "description": "Course id to find by",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "taskId",
            "in": "path",
            "description": "The task that needs to be displayed",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Task"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Task"
                }
              }
            }
          },
          "400": {
            "description": "Invalid task or course ID supplied"
          },
          "404": {
            "description": "Task or course not found"
          }
        }
      },
      "delete": {
        "tags": [
          "course"
        ],
        "summary": "Remove task from course",
        "operationId": "removeTask",
        "parameters": [
          {
            "name": "courseId",
            "in": "path",
            "description": "Course id to find by",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "taskId",
            "in": "path",
            "description": "The task that needs to be removed",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Invalid course or task ID supplied"
          },
          "404": {
            "description": "Task or course not found"
          }
        }
      }
    },
    "/course/{courseId}/task/{taskId}/grade": {
      "get": {
        "tags": [
          "course"
        ],
        "summary": "Returns a list of all grades for this task",
        "operationId": "getGrades",
        "parameters": [
          {
            "name": "courseId",
            "in": "path",
            "description": "Course id to find by",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "taskId",
            "in": "path",
            "description": "Task id to find by",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Grade"
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Grade"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid id value"
          }
        }
      },
      "post": {
        "tags": [
          "course"
        ],
        "summary": "Add a grade for a completed task",
        "operationId": "addGrade",
        "parameters": [
          {
            "name": "courseId",
            "in": "path",
            "description": "Course id to find by",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "taskId",
            "in": "path",
            "description": "Task id to find by",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "description": "Grade placed at course",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Grade"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation"
          },
          "400": {
            "description": "Invalid grade"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Student": {
        "required": [
          "group",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "group": {
            "type": "string"
          }
        },
        "xml": {
          "name": "Student"
        }
      },
      "Tutor": {
        "required": [
          "name",
          "post"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "post": {
            "type": "string"
          }
        },
        "xml": {
          "name": "Tutor"
        }
      },
      "Course": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "students": {
            "type": "array",
            "xml": {
              "name": "students",
              "wrapped": true
            },
            "items": {
              "$ref": "#/components/schemas/Student"
            }
          },
          "tutors": {
            "type": "array",
            "xml": {
              "name": "tutors",
              "wrapped": true
            },
            "items": {
              "$ref": "#/components/schemas/Tutor"
            }
          },
          "tasks": {
            "type": "array",
            "xml": {
              "name": "tasks",
              "wrapped": true
            },
            "items": {
              "$ref": "#/components/schemas/Task"
            }
          },
          "toplist": {
            "type": "array",
            "xml": {
              "name": "toplist",
              "wrapped": true
            },
            "items": {
              "$ref": "#/components/schemas/Rank"
            }
          }
        },
        "xml": {
          "name": "Course"
        }
      },
      "Task": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "typeOfTask": {
            "type": "string",
            "enum": [
              "Lecture",
              "Practice",
              "Test",
              "Project"
            ]
          },
          "course": {
            "$ref": "#/components/schemas/Course"
          },
          "description": {
            "type": "string",
            "description": "Description of task"
          },
          "maxValue": {
            "type": "integer",
            "description": "Maximum value of grade for this task",
            "format": "int32"
          },
          "deadline": {
            "type": "string",
            "format": "date-time"
          }
        },
        "xml": {
          "name": "Task"
        }
      },
      "Grade": {
        "type": "object",
        "properties": {
          "value": {
            "type": "integer",
            "format": "int32"
          },
          "date": {
            "type": "string",
            "format": "time-date"
          },
          "student": {
            "$ref": "#/components/schemas/Student"
          },
          "task": {
            "$ref": "#/components/schemas/Task"
          }
        },
        "xml": {
          "name": "Grade"
        }
      },
      "Rank": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "value": {
            "type": "integer",
            "format": "int32"
          },
          "student": {
            "$ref": "#/components/schemas/Student"
          },
          "course": {
            "$ref": "#/components/schemas/Course"
          }
        },
        "xml": {
          "name": "Rank"
        }
      }
    },
    "requestBodies": {
      "Student": {
        "description": "Student object that needs to be added",
        "content": {
          "application/jsom": {
            "schema": {
              "$ref": "#/components/schemas/Student"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/Student"
            }
          }
        },
        "required": true
      },
      "Tutor": {
        "description": "Tutor object that needs to be added",
        "content": {
          "application/jsom": {
            "schema": {
              "$ref": "#/components/schemas/Tutor"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/Tutor"
            }
          }
        },
        "required": true
      },
      "Course": {
        "description": "Course object that needs to be added",
        "content": {
          "application/jsom": {
            "schema": {
              "$ref": "#/components/schemas/Course"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/Course"
            }
          }
        },
        "required": true
      }
    }
  }
}